package com.hpjpw.ido.service;

import java.util.List;
import com.hpjpw.ido.domain.TaskRecord;

/**
 * 任务记录Service接口
 * 
 * @author hpj
 * @date 2021-01-02
 */
public interface ITaskRecordService 
{
    /**
     * 查询任务记录
     * 
     * @param id 任务记录ID
     * @return 任务记录
     */
    public TaskRecord selectTaskRecordById(String id);

    /**
     * 查询任务记录列表
     * 
     * @param taskRecord 任务记录
     * @return 任务记录集合
     */
    public List<TaskRecord> selectTaskRecordList(TaskRecord taskRecord);

    /**
     * 通过学生ID查询任务记录总星数
     *
     * @param studentId 学生ID
     * @return 任务记录总星数
     */
    public int selectStarNumByStudentUserId(Long studentId);

    /**
     * 通过学生IDs查询任务记录列表
     *
     * @param studentIds 学生IDs
     * @return 任务记录集合
     */
    public List<TaskRecord> selectTaskRecordByStudentIdsWithUnchecked(Long[] studentIds);

    /**
     * 新增任务记录
     * 
     * @param taskRecord 任务记录
     * @return 结果
     */
    public int insertTaskRecord(TaskRecord taskRecord);

    /**
     * 修改任务记录
     * 
     * @param taskRecord 任务记录
     * @return 结果
     */
    public int updateTaskRecord(TaskRecord taskRecord);

    /**
     * 批量删除任务记录
     * 
     * @param ids 需要删除的任务记录ID
     * @return 结果
     */
    public int deleteTaskRecordByIds(String[] ids);

    /**
     * 删除任务记录信息
     * 
     * @param id 任务记录ID
     * @return 结果
     */
    public int deleteTaskRecordById(String id);
}
